javascript JestでjsonFileをスタブ化する
#javascript #jest
以下のコードをテストしたいとき、本番用のjson fileをそのまま利用するのはしんどい時がある。
code: production.js
import jsonData from './sample.json';
function loadSampleName() {
return jsonData.name;
}
code: sample.json
{
"name": "tester",
"age": 100,
}
そういう時はjestを使ってテスト時だけ別のjsonFileを読み込ませるようにする
code: package.json
...
"jest": {
"moduleNameMapper": {
"sample.json": "<rootDir>/__mocks__/sample.json"
}
}
これの意味は...以下。
sample.jsonをテスト時にロードするときは、代わりに<rootDir>/__mocks__/sample.jsonのデータをロードさせますよ!!
<rootDir>ていうのは、設定ファイル(今回だとpackage.json)があるところ。
こうしておくとテスト時に、テスト用のjsonFileを読み込ませることができる。
参考.icon
Jest : Mock import of JSON file | Newbedev